package com.yanggu.scala.chapater05

object LazyLoaderDemo {

  def main(args: Array[String]): Unit = {
    //1. 当一个函数或者方法的返回值被lazy关键字修饰时。该函数或者方法会被延迟执行，直到该返回值被使用的时候
    //2. 注意lazy关键字只能修饰val修饰的变量
    //3. scala保证变量在多线程环境下的正确初始化
    lazy val unit = lazyFun()
    println("正常方法执行了")
    println("获取懒加载方法的结果")
    println("懒加载方法的结果: " + unit)
  }

  def lazyFun() = {
    println("懒加载方法执行了")
    1
  }

}
